home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / info / rtnews / rtnv2n5 < prev    next >
Encoding:
Text File  |  1994-10-16  |  34.1 KB  |  821 lines

  1.  
  2.  
  3.  _ __                 ______                         _ __
  4. ' )  )                  /                           ' )  )
  5.  /--' __.  __  ,     --/ __  __.  _. o ____  _,      /  / _  , , , _
  6. /  \_(_/|_/ (_/_    (_/ / (_(_/|_(__<_/ / <_(_)_    /  (_</_(_(_/_/_)_
  7.              /                               /|
  8.             '                               |/
  9.  
  10.             "Light Makes Right"
  11.  
  12.                August 29, 1989
  13.              Volume 2, Number 5
  14.  
  15. Compiled by Eric Haines, 3D/Eye Inc, 2359 Triphammer Rd, Ithaca, NY 14850
  16.     hpfcla!hpfcrs!eye!erich@hplabs.hp.com, wrath.cs.cornell.edu!eye!erich
  17.     [distributed by Michael Cohen <m-cohen@cs.utah.edu>, but send
  18.     contributions and subscriptions requests to Eric Haines]
  19. All contents are US copyright (c) 1989 by the individual authors
  20.  
  21. Contents:
  22.     Introduction
  23.     A SIGGRAPH Report, by Eric Haines
  24.     Ray Tracing Poll, from the roundtable discussion
  25.     _An Introduction to Ray Tracing_, Announcement and Errata
  26.     _Graphics Gems_ Call for Contributions, by Andrew Glassner
  27.     New People and Address Changes
  28.     Bugs in MTV's Ray Tracer, by Eric Haines
  29.     Bug in SPD, from Pete Segal
  30.     Solid Textures Tidbit, by Roman Kuchkuda
  31.     Sundry Comments, by Jeff Goldsmith
  32.     Texture Mapping Question, by Susan Spach
  33.     ======== USENET cullings follow ========
  34.     Ray Traced Image Files, by Prem Subramanyan
  35.     Image Collection, by Paul Raveling
  36.     MTV-Raytracer on ATARI ST - precision error report, by Dan Riley
  37.     Question on Ray Tracing Bicubic Parametric Patches, by Robert Minsk
  38.  
  39. -------------------------------------------------------------------------------
  40.  
  41. Introduction
  42.  
  43.     Now that the "RT News" is posted on comp.graphics, I'd like to make a
  44. few changes.  First of all, you really don't need to get on the subscription
  45. list of the RT News if you're an avid reader of comp.graphics.  However, I do
  46. want to maintain an emailing list of people interested in ray tracing.
  47.  
  48.     So, I'll be keeping a single address list of interested people (which
  49. I will call the "contact list"), and only some of the people on this list need
  50. to be sent copies of the RT News.  Furthermore, it would be nice if various
  51. schools, etc, would make a single email address the place where they will
  52. receive the RT News.  For example, Duke has "raycasting@duke.cs.duke.edu" as
  53. the address to which I should send the RT News.  They also have individuals on
  54. the address list, but individual copies are not sent to them.  Instead, the
  55. "raycasting" account they have remails the RT News to all people that are
  56. interested at Duke.  In this way I can cut down on having issues sent out
  57. unnecessarily, of worrying about bounced mail, of maintaining a long mailing
  58. list (currently about 100 people), etc etc.
  59.  
  60.     To summarize, there are then a few different ways you can be listed.
  61.  
  62.     1) Individual subscriber - You don't read comp.graphics and want to
  63.        get the RT News.  Your name is put on the subscriber list and the
  64.        contact list.  To subscribe, simply send me your name, email and
  65.        snail mail addresses, and a one line summary (that I'll put next to
  66.        your name) describing any special areas you're interested in (e.g.
  67.        "parallelism, radiosity, filtering" might be one).  You might also
  68.        send me a few paragraphs about what you're up to nowadays, and I'll
  69.        include this in the News.
  70.  
  71.     2) Group subscriber - Like Duke.  This way you have full control over
  72.        who will automatically get an issue, and I won't have to change my
  73.        subscriber list each time someone else wants to get the RT News.
  74.  
  75.        Some people have already switched over.  I just received this:
  76.  
  77.        We went ahead and implemented the local alias.  It's "raytrace",
  78.        which you can reach as raytrace@cpsc.ucalgary.ca or
  79.        calgary!raytrace.  At the moment Dave Jevans and I (Bill Jones) are
  80.        the only subscribers.
  81.  
  82.     3) Contact list only - You read comp.graphics and so do not need to
  83.        subscribe.  However, you want to be on the list of people interested
  84.        in ray tracing.  Another advantage of the contact list is that
  85.        people may send you mail - for instance, I wrote all the people on
  86.        the list and invited them to come to a get-together for ray tracers
  87.        at SIGGRAPH (more on this later).  Everyone who is a subscriber is
  88.        also automatically on the contact list, but not vice versa.  You
  89.        can also be listed as an individual on the contact list if you're a
  90.        group subscriber.
  91.  
  92.     4) The silent majority - You don't need to be on any list, and are
  93.        happy just reading comp.graphics (or have hit the "n" key by now).
  94.  
  95.     Currently almost everyone on the contact list is also a subscriber.
  96. So, if you read comp.graphics fairly constantly and are on the subscriber list,
  97. please tell me to put you on only the contact list.  Clear as mud?  Good.  I'll
  98. probably send the above to all people asking for subscriptions just to make
  99. sure they know what's what, so don't be offended if you get one.
  100.  
  101.     Whew!  Well, with that done, I should mention that anyone can ask for
  102. a copy of the contact list.  If you want to subscribe to the RT News, hardcopy
  103. edition, that's another coastline entirely - contact Andrew Glassner at
  104. glassner.pa@xerox.com for details, as he's the editor of that one.  The email
  105. and hardcopy journals are mostly non-overlapping, so it's worth your while to
  106. get both if you're seriously interested in the subject.
  107.  
  108.     I can't afford to send out the back issues of the email RT News, but
  109. they are available via anonymous FTP from:
  110.  
  111.     cs.uoregon.edu - in /pub, also has lots of other ray tracing stuff, etc
  112.     freedom.graphics.cornell.edu - in /pub, also has Xcu menu creator
  113.  
  114.     One other resource: I've been updating Paul Heckbert's ray tracing
  115. bibliography while he's been busy at grad school.  If you would like the latest
  116. copy of this list, or have anything to add or change in it, just write me.  I
  117. also will be posting it to the two ftp sites realsoonnow.
  118.  
  119. -------------------------------------------------------------------------------
  120.  
  121. A SIGGRAPH Report, by Eric Haines
  122.  
  123.     Another SIGGRAPH has come and gone, and I had a good time.  My only
  124. frustration was meeting many researchers for a minute and not getting to talk
  125. with them.  I noticed that although the ray tracing session had but three
  126. papers, there were about nine others throughout the proceedings that used ray
  127. tracing techniques in various ways.  Ray tracing (and ray casting) as a
  128. graphics tool has come into its own.
  129.  
  130.     A few more ray tracers are out on the market, such as "Sculpt 3D" by
  131. Byte by Byte for the Macintosh and Amiga and "LazerRays" by Lazerus.  Hewlett
  132. Packard is now shipping radiosity and ray tracing software bundled in with
  133. every high-end graphics workstation.  Intergraph has been getting a fair bit
  134. of airplay out of their new ray tracing package, though I haven't gotten
  135. details yet.  Alias should be offering a ray tracer sometime soon.
  136.  
  137.     Ray tracing researchers got together informally for a "ray tracing
  138. roundtable" for an hour and some.  Like last year, it was a large gathering,
  139. with around 50 people attending.  We went around the group, with each person
  140. giving a brief introduction.  I took an informal poll on a few questions,
  141. Andrew noted that the ray tracing book was out, and asked for contributions to
  142. "Graphics Gems" (more later), then we broke up and talked about this and that.
  143.  
  144.     Given the size of the gathering, it was a bit frustrating:  there are
  145. all these people that I've wanted to meet and talk with in the same room, and
  146. after half an hour they're all gone and I've spoke with only a few.
  147. Basically, the roundtable meeting is too big for my tastes.  One possibility
  148. that you all might consider is to invite people in your own special interest
  149. to a lunch or dinner.  For example, I went to a pleasant "global illuminators"
  150. lunch this SIGGRAPH, where there were about twelve people - a good size.
  151.  
  152.     Oh, some nice books came out this SIGGRAPH.  I'll plug the ray tracing
  153. book later.  Others worth note (i.e. I bought them) are _Mathematical Elements
  154. for Computer Graphics, Second Edition_ by Rogers and Adams, which has been
  155. expanded to more than twice its original length, and _The RenderMan Companion_
  156. by Steve Upstill, which looks like a nice book no matter what your feelings on
  157. RenderMan itself.  I'm looking forward to the much expanded second edition of
  158. Foley & Van Dam's _Fundamentals of Interactive Computer Graphics_, which should
  159. be out early next year.
  160.  
  161. -------------------------------------------------------------------------------
  162.  
  163. Ray Tracing Poll, from the roundtable discussion
  164.  
  165.  
  166. At the roundtable people were polled on a few questions.
  167.  
  168. 1.  What efficiency schemes have you used?
  169.  
  170.     Grids               - 20
  171.     Octree/BSP           - 26 (4 were specifically BSP)
  172.     Bounding Volume Hierarchy  - 22
  173.     Hybrid               - 17
  174.     Greater than 3D (4D or 5D) - 13
  175.     Other               -  5 (what were these, anyway?)
  176.  
  177. 2.  How many processors have you used?
  178.  
  179.     One processor           - 21.1
  180.     Multiprocessor           - 29.1
  181.     More than 10 processors       - 21
  182.     More than 100 processors   -  4
  183.  
  184.     The most processors used was 1024 (2 people).
  185.  
  186. 3.  How long do you usually wait for a picture?
  187.  
  188.     Less than a minute      -  1
  189.     Less than ten minutes      -  6
  190.     Less than an hour      - 13
  191.     Less than ten hours      - 25
  192.  
  193. 4.  What is your favorite background color?
  194.  
  195.     UNC "Carolina Blue"      - 12
  196.     Black              - 15
  197.  
  198. -------------------------------------------------------------------------------
  199.  
  200. _An Introduction to Ray Tracing_, Announcement and Errata
  201.  
  202.  
  203.     Well, the book is finally out.  It is edited by Andrew Glassner, and
  204. sells for $49.95 from Academic Press.  It includes sections by Andrew, Pat
  205. Hanrahan, Rob Cook, Paul Heckbert, Jim Arvo, Dave Kirk, and myself.  The book
  206. is essentially the same as the 1988 SIGGRAPH Course Notes, with the addition
  207. of some figures and images and some minor corrections.  Incidentally, if you
  208. have the book and find any glaring errors, please notify Andrew Glassner;
  209. enough copies sold at SIGGRAPH that another edition will be printed soon.
  210. Considering that the authors are scattered around the country, the book flows
  211. fairly well and covers most areas of ray tracing theory and practice.  Also,
  212. there's finally a text to suggest when someone wants to know whether a point
  213. is inside a polygon (Sedgewick's _Algorithms_ didn't solve it efficiently).
  214. If you don't have a copy, buy a few and make us all fabulously wealthy beyond
  215. our wildest dreams (i.e. then I could afford the Sears' hibachi instead of
  216. the K-Mart version).
  217.  
  218.     Incidentally, the 1989 "Intro to RT Course Notes" included the book
  219. and some additional notes.  The notes included reprints of classic articles,
  220. the code for the SPD package (God forbid that anyone have to type it in,
  221. though), and an article I whipped off called "Tracing Tricks", which I'll post
  222. sometime soon, maybe during a slow month.
  223.  
  224.     Some bugs have already been reported to me about my section, so I'll
  225. pass them on:
  226.  
  227.  
  228. >From Tim O'Connor:
  229.  
  230. If you'll flip to page 66 you'll note a little algorithm for ray/box testing.
  231. About halfway through you say:
  232.  
  233.     If T1 > Tnear, set T1 = Tnear
  234.     If T2 > Tfar, set T2 = Tfar
  235.  
  236. Then you never use T1, or T2 again in that loop.  The example bears out my
  237. suspicion that one should actually "set Tnear = T1" and "set Tfar = T2".
  238.  
  239.  
  240. >From Ehood Baratz <{world}!hpbbn!hputlaa!ehood>:
  241.  
  242. In chapter 2 page 52 on formula (C9) it is written:
  243.  
  244.         If Pn * Rd  < 0
  245.         (in other words, if Vd > 0)
  246.            then ....
  247.  
  248.     I think it should be "if Vd < 0" because Pn*Rd is Vd (look at page 51
  249. after (C4)).
  250.  
  251. -------------------------------------------------------------------------------
  252.  
  253. _Graphics Gems_ Call for Contributions, by Andrew Glassner
  254.  
  255.  
  256. CONTRIBUTE TO A NEW BOOK FOR COMPUTER GRAPHICS PROGRAMMERS!
  257.  
  258. Contributions are solicited for a new book, tentatively titled GRAPHICS GEMS.
  259. This book will be a collection of short notes by and for computer graphics
  260. programmers and researchers.  The basic idea is to create a book similar to
  261. the CRC Mathematics Handbook, only tailored to the subject of computer
  262. graphics.
  263.  
  264. The motivation for Graphics Gems comes from a desire to document and share the
  265. many techniques that are a necessary part of every graphics programmer's
  266. toolbox, yet don't appear in the standard literature.  Each Gem represents a
  267. solution to a problem:  not necessarily a research result, nor even a deep
  268. observation, but simply a good, practical technique for dealing with a typical
  269. computer graphics programming problem.  A typical Gem may be a code fragment,
  270. a short analysis of an interesting problem, a bit of mathematics, a data
  271. structure, or a geometric relationship.
  272.  
  273. Here are some appropriate topics for Gems - this list contains only a few
  274. suggestions for topics that might be covered by interesting Gems, and is far
  275. from complete:
  276.  
  277. Two Dimensions:  Fill, smooth, blur, dither, 2d plots, line drawing, curve
  278. drawing, bounding boxes, overlapping boxes, efficient bitblit (example:
  279. automatic selection of tick marks on a plot).
  280.  
  281. Three Dimensions:  Scan conversion, highlight detection, shading, isosurfaces,
  282. ray intersection, form factor calculation, visibility, texturing,
  283. transformations, deformations, smoothing, 3d plotting, parameterizations,
  284. surface subdivision, texturing functions, bounding boxes (example:  fast
  285. shading formulae).
  286.  
  287. Graphics:  Colormap hacking, object manipulations, sampling, filtering,
  288. optics, interaction techniques, modelling primitives, efficient rendering,
  289. edge detection (example:  reconstruction from stochastic sampling).
  290.  
  291. General Math:  Algebra, calculus, geometry (e.g.  why normals don't move under
  292. the same transformations as surfaces).
  293.  
  294. Programming:  Numerical integration, root finding, root polishing, data
  295. structures (objects), data structures (programs), inner loops, interactive
  296. debugging, graphical debugging, color map hacking, over- and under-flow
  297. detection and correction, unusual functions (e.g.  polynomial root-finding).
  298.  
  299. Most Gems will be about 1 or 2 final printed pages (4 or 5 pages of
  300. typewritten, double-spaced manuscript), though if you choose to include source
  301. code the listings may run longer.  Rough figures and equations will be
  302. professionally redrawn by the publisher.  Each contributor will have a chance
  303. to review the final copy for his or her Gems before publication.  Each Gem
  304. will be clearly identified with the name and affiliation of its
  305. contributor(s).
  306.  
  307. If you have developed a nice solution to a problem that others might
  308. encounter, be it a data structure, an inner loop, or even an algebraic
  309. simplification that makes your programs shorter and more robust, then it would
  310. probably make a splendid Graphics Gem.  Write it up and send it to the editor
  311. at the address below, either in hardcopy or electronic mail.  Acceptable
  312. formats are plain text, nroff, TeX, MacWrite, and Microsoft Word (Macintosh).
  313. I would like to receive a rough draft of all Gems by November 1989.
  314.  
  315. Contribute and share your favorite tricks and techniques with the rest of the
  316. community!  Send your Graphics Gems to:
  317.  
  318. Andrew Glassner
  319. Editor, Graphics Gems
  320. Xerox PARC
  321. 3333 Coyote Hill Road
  322. Palo Alto, CA  94304  USA
  323. email: glassner.pa@xerox.com
  324. phone: (415) 494 - 4467
  325.  
  326. -------------------------------------------------------------------------------
  327.  
  328. New People and Address Changes
  329.  
  330.  
  331. There were many new people at the roundtable at SIGGRAPH.  In the interest of
  332. brevity, only new people who've sent an intro are listed.  If any of you (or
  333. anyone else out there) would like to send in a paragraph or two of
  334. introduction, it will be printed here.  You can always request the latest
  335. contact list from me.
  336.  
  337. --------
  338.  
  339. We just received the 7 editions of "The Ray Tracing News" you posted recently
  340. at USENET.  This is exactly the kind of information we need in our research
  341. project an rendering software.  Not just the latest research news, but also
  342. discussion on the results of them.
  343.  
  344. So PLEASE put us on your mailing list!
  345.  
  346. Just let me describe our past and future work to justify the costs for you.
  347. We are a working group at the Institute for Interactive Graphic Systems at the
  348. University of Tuebingen (West Germany) and are part of the faculty of physics.
  349. The main future research aspect will go in direction of combining raytracing
  350. and radiosity.  We come from the background of geometric modelling and
  351. graphics hardware (here Phong shading in realtime).  I will start working on
  352. this project 4Q89 as my PhD.
  353.  
  354. If you can give any additional information that might be interesting to us
  355. (including other research going on in this area) please let us know.
  356.  
  357. Surface mail: Wilhelm-Schickard-Institut fuer Informatik
  358.               Graphisch Interaktive Systeme
  359.               z.Hd. Philipp Slusallek
  360.               Auf der Morgenstelle 10
  361.               D-7400 Tuebingen
  362. Email       : philipp@infotue.uucp
  363. Tel         : x49 7071 296356
  364.  
  365. --------
  366.  
  367. (internet)  zmel02@trc.amoco.com
  368. (usenet)    uunet!apctrc!mlee
  369. (snail mail)    Mark Lee
  370.                 Amoco Production Company
  371.                 Tulsa Research Center
  372.                 PO Box 3385
  373.                 Tulsa, OK  74102
  374.         (phone) (918)-660-3556  or (918)-660-3000 for operator
  375.  
  376. A short introduction.  My interests lie in the areas of illumination models,
  377. faster ray tracing, photorealism, numerical and statistical methods.  My real
  378. work is more in the area of rendering algorithms and scientific visualization.
  379. The areas that I enjoy working in, I pursue whenever I can squeeze it in.
  380.  
  381. Incidentally, did you find a copy of the article by Levner, Tassinari, and
  382. Marini, "A Simple Method for Ray Tracing Bicubic Surfaces"?  [no] Is this in a
  383. textbook or such?  How could I find of copy of this paper?  [Can anyone help?
  384. Has anyone seen it, and can at least summarize?]
  385.  
  386. Some questions to post to the mailing list...
  387.  
  388. Did the paper "The Ray Tracing Kernel" by Jim Arvo, Dave Kirk and Olin Lathrop
  389. ever get published?
  390.  
  391. Does anyone have a copy of Blinn's notes from the Siggraph '84 tutorial notes
  392. on "The Mathematics of Computer Graphics" that they could send to me?  [hey,
  393. I'd like one, too: I was a student volunteer at this course, and they ran out
  394. of course notes and I never got a copy.]
  395.  
  396. --------
  397.  
  398. I am now doing a dissertation on realistic rendering for complex scenes, with
  399. extensions for nonisotropically scattering gasses.  I am also part of a
  400. project that uses raytracing for visualization of volumes of scalar data.
  401.  
  402. Peter Shirley
  403. University of Illinois at Urbana-Champaign
  404.  
  405.  
  406.         shirley@cs.uiuc.edu
  407.     {pur-ee,convex,inhp4}!uiucdcs!shirley
  408.         816 E. Oakland, #206
  409.         Urbana, IL  61801
  410.         (217) 328-6494
  411.  
  412. --------
  413.  
  414. Mike Sweeney - rendering, splines, object-oriented languages
  415. Softimage Inc.
  416. 3510 Blvd St. Laurent, Suite 214
  417. Montreal, Canada H2X 2V2
  418. (514) 845-1636
  419. [write to Kaveh Kardan at larry.mcrcim.mcgill.edu!vedge!kaveh to reach Mike]
  420.  
  421. Hello net-land, it's been a while.  Eric says he wants an introduction so here
  422. goes....
  423.  
  424. I've been writing renderers for the last 6 years.  The Waterloo CGL Raytracing
  425. Package was your basic naive ray tracer.  It did contain an iterative solution
  426. to ray/bspline intersection, but I no longer believe in this approach - it's
  427. much faster to break the spline into triangles.  My second attempt, the Alias
  428. renderer, war a raycaster.  It was slow period.
  429.  
  430. Then came Abel, where I started playing with octrees.  The code was about
  431. twice as fast as any implementation of Kay/Kajiya slabs I could come up with,
  432. and at least ten times as fast as my implementation of Fujimoto's algorithm.
  433. After Abel folded, I wound up at Softimage.  I added a modified Watkin's front
  434. end, and rewrote the tracer to make the maximum use of empty space.
  435.  
  436. I've not tried to implement the Kirk/Arvo algorithm yet, but have an
  437. instinctive distrust of anything that mixes preprocessing with the rendering
  438. (the cost will go up with the sampling rate).  What is the group's experience
  439. with this method?
  440.  
  441. --------
  442.  
  443. # Jerry Quinn - PhD research in raytracing at Dartmouth
  444. # Dartmouth College
  445. # Department of Math & Comp Sci
  446. # Hanover, NH 03755
  447. # (603) 646-2565
  448. quinn@sunapee.dartmouth.edu
  449.  
  450. I am a PhD student in computer science at Dartmouth and am in my second year.
  451. I'm currently interested in increasing efficiency in raytracing.  I'm also
  452. looking at parallelism in RT, radiosity, and the combination of both.
  453.  
  454. --------
  455.  
  456. I have taken a job at Princeton, and thought I'd send you my new address for
  457. the purposes of the RT News.  
  458.  
  459. Mark VandeWettering (markv@acm.princeton.edu)
  460. c/o Program in Applied and Computational Math
  461. Fine Hall
  462. Princeton University, Princeton NJ, 08544
  463.  
  464. Another question you might know off the top of your head:  Alvy Ray Smith has
  465. written a tech memo on Volumetric Rendering at Pixar.  Do you have his e-mail
  466. address, or otherwise know how I might request Pixar Tech Memos?  [does anyone
  467. else know?  - EAH]
  468.  
  469. The ray tracing archive on skinner.cs.uoregon.edu still will remain there.  I
  470. have permission from the higher-ups at the U of O to keep it there.  If I lose
  471. that permissions at some future date, it will probably move to Princeton
  472. somewhere....
  473.  
  474. --------
  475.  
  476. Pat Hanrahan has also moved to Princeton, and is now at:
  477.  
  478.     hanrahan@princeton.edu
  479.  
  480. --------
  481.  
  482. And one more for Princeton:
  483.  
  484. alias    marshall_levine mplevine@phoenix.princeton.edu
  485.  
  486. [I asked about the ray tracing demo at SGI:]
  487.  
  488. The ray-tracing demo that you saw on an IRIS at SIGGraph is called Flyray.  It
  489. was written by Benjamin Garlick in June-August 1988.  The underlying voxel
  490. ray-tracer was written by Paul Haeberli in July 1983.  The demo is standard
  491. around here; it should be on every demo machine.  I would guess that it would
  492. be in the /usr/src/cmd/demo directory on most demo machines, but it depends on
  493. that particular machine's configuration.  It is easily accessible through
  494. Buttonfly, the SGI menu program.  Buttonfly displays menus of demos on 3D
  495. buttons that twist, flip, and fly towards the screen when selected (with text
  496. on them!).  You will probably find Flyray on Buttonfly under the
  497. SGI/CPU-Intensive button (it will be listed as Ray-Tracer or Flyray).  If you
  498. have any questions or want a description of the demo, just let me know and
  499. I'll send you any information that I can dig up.  While you're at SIGGraph,
  500. you should take a look at the newest version of Flight (By Rob Mace, one of
  501. the guys in my group) on the IRIS 4D computers.  Take a look at the F-14.
  502. I'll let it be a surprise, and trust me, you'll be very surprised!
  503.  
  504. --------
  505.  
  506. Please change my email address to palmer@ncsc.org (was palmer@ncifcrf.gov).
  507.  
  508. Thomas C. Palmer        North Carolina Supercomputing Center
  509. Cray Research, Inc.        Phone: (919) 248-1117
  510. PO Box 12732            Arpanet: palmer@ncsc.org
  511. 3021 Cornwallis Road
  512. Research Triangle Park, NC
  513. 27709
  514.  
  515. --------
  516.  
  517. Another address change:
  518.  
  519. # Mark Reichert
  520. # Program of Computer Graphics
  521. # 120 Rand Hall
  522. # Cornell University
  523. # Ithaca, NY 14853
  524. alias   mark_reichert   mcr@venus.graphics.cornell.edu
  525.  
  526. -------------------------------------------------------------------------------
  527.  
  528. Bugs in MTV's Ray Tracer, by Eric Haines
  529.  
  530.  
  531.     Craig Kolb mentioned that he was having problems with Mark
  532. VandeWettering's ray tracer.  Since I've been touting it all this time (but
  533. having run it only once), I felt obligated to find the bugs.  There were two:
  534. one was that the up vector was sometimes not perpendicular to the view vector,
  535. which results in the "balls" image having a "comin' at ya" kind of distortion
  536. (kind of interesting, but incorrect).  The other was that the frustum width
  537. was affected by the distance to the hither, which it should not be.  One
  538. result is that the "mountain" scene would get zoomed in on something fierce.
  539. Finally, I changed the statistics output a bit to give information that I like
  540. (e.g.  the number of reflected and refracted rays actually shot are counted
  541. separately).  Anyway, at least apply the fixes to main.c and the first part of
  542. screen.c.
  543.  
  544.  
  545. diff old/main.c new/main.c
  546. 109c112
  547. <     printf("number of rays cast:       %-6d\n", nRays);
  548. ---
  549. >     printf("number of eye rays:       %-6d\n", nRays);
  550. diff old/screen.c new/screen.c
  551. 50d49
  552. <     VecNormalize(upvec) ;
  553. 66a66,72
  554. >      * Make sure the up vector is perpendicular to the view vector
  555. >      */
  556. >     VecCross(viewvec, leftvec, upvec);
  557. >     VecNormalize(upvec);
  558. >     /*
  559. 71c77
  560. <     frustrumwidth = (view -> view_dist) * ((Flt) tan(view -> view_angle)) ;
  561. ---
  562. >     frustrumwidth = ((Flt) tan(view -> view_angle)) ;
  563. 129c135
  564. <             Trace(0, 1.0, &ray, color);
  565. ---
  566. >             Trace(0, 1.0, &ray, color, &nRays);
  567. 173c179
  568. <             Trace(0, 1.0, &ray, color);
  569. ---
  570. >             Trace(0, 1.0, &ray, color, &nRays);
  571. 238c244
  572. <                 Trace(0, 1.0, &ray, color);
  573. ---
  574. >                 Trace(0, 1.0, &ray, color, &nRays);
  575. diff old/shade.c new/shade.c
  576. 112d111
  577. <         nReflected ++ ;
  578. 115c114,115
  579. <         Trace(level + 1, surf -> surf_ks * weight, &tray, tcol);
  580. ---
  581. >         Trace(level + 1, surf -> surf_ks * weight, &tray, tcol,
  582. >             &nReflected);
  583. 120d119
  584. <         nRefracted ++ ;
  585. 125c124,125
  586. <         Trace(level + 1, surf -> surf_kt * weight, &tray, tcol) ;
  587. ---
  588. >         Trace(level + 1, surf -> surf_kt * weight, &tray, tcol,
  589. >             &nRefracted) ;
  590. diff old/trace.c new/trace.c
  591. 19c19
  592. < Trace(level, weight, ray, color) 
  593. ---
  594. > Trace(level, weight, ray, color, nr) 
  595. 23a24
  596. >  int *nr ;
  597. 34c35
  598. <     nRays ++ ;
  599. ---
  600. >     (*nr) ++ ;
  601.  
  602. -------------------------------------------------------------------------------
  603.  
  604. Bug in SPD, from Pete Segal <pls@pixels.att.com>
  605.  
  606. Pete Segal reported a particularly subtle bug in my Standard Procedural
  607. Databases package.  Turns out a "w" component needs to be initialized.  If you
  608. have a machine that initializes everything to 0, you'd never notice it.  The
  609. patches to the README and lib.c files are below.  I should be putting the
  610. latest and greatest version on cs.uoregon.edu soon.
  611.  
  612.  
  613. diff old/README new/README
  614. 4,5c4,5
  615. < Version 2.5, as of 10/19/88
  616. <     address: 3D/Eye, Inc., 410 East Upland Road, Ithaca, NY 14850
  617. ---
  618. > Version 2.6, as of 8/28/89
  619. >     address: 3D/Eye, Inc., 2359 N. Triphammer Rd, Ithaca, NY 14850
  620. 22a23,24
  621. > Version 2.6 released August, 1989 - lib_output_cylcone fix (start_norm.w was
  622. >     not initialized).
  623. 68a71,72
  624. >     The SPD package is also available via anonymous FTP from cs.uoregon.edu.
  625. diff old/lib.c new/lib.c
  626. 5c5
  627. <  * Version:  2.2 (11/17/87)
  628. ---
  629. >  * Version:  2.6 (8/28/89)
  630. 437a438
  631. >     start_norm.w = 0.0 ;
  632.  
  633. -------------------------------------------------------------------------------
  634.  
  635. Solid Textures Tidbit, by Roman Kuchkuda <ucsd.edu!kuchkuda%megatek.UUCP>
  636.  
  637.  
  638. One piece of research that you might mention in RTN:
  639.  
  640. I had used procedural wood textures for a while and wondered whether you could
  641. use "real" wood textures.  Through some connections at the UNC hospital I had
  642. a block of pine CT scanned.
  643.  
  644. Sure enough, the grain showed up very well.  The resulting pictures were more
  645. "interesting" than procedural texture.  The structure is more complex than the
  646. procedural model.
  647.  
  648. There were a few problems though:
  649. 1) There is a lot of data in the CT scans and memory paging slows down the 
  650.    ray tracing like crazy.
  651.  
  652. 2) Reality doesn't look nearly as "real" as a neat clean procedural model
  653.    of it does.
  654.  
  655. The results were so mixed that I never tried to get this published anywhere.
  656.  
  657. -------------------------------------------------------------------------------
  658.  
  659. Sundry Comments, by Jeff Goldsmith <jeff@Iago.Caltech.Edu>
  660.  
  661. About the ray-tracing-as-a-sleazy-sales-gimmick idea:
  662.  
  663.     The whole point about my suggestion to include a ray tracer as part of a
  664. CG system is that it is, in fact, mostly useless, and most buyers don't know
  665. that.  Thus, it works as a great gimmick, which is exactly "promising someone
  666. something that they think they want, but don't really."  No one will use it
  667. after finding out how long it takes, so it doesn't have to have as many
  668. features as the rest of the system.  Yes, this is a very cynical view, but
  669. sales is a non-technical problem, and (at least around here) expensive systems
  670. are usually purchased by people who know nothing about them, so it ought to be
  671. an effective technique with not a whole lot of resource expenditure.  Besides,
  672. most CG programmers enjoy hacking ray tracers so you boost morale at the
  673. company at the same time.  ...by the way, this is not entirely a joke, but...
  674.  
  675.     Euclidean distance calculation:  Iterative approaches work great on this
  676. problem.  A short summary (and code for one) is in Tom Duff's SIGGRAPH '84
  677. Tutorial on Numerical Analysis (a terrific article, by the way, as is his
  678. spline piece in the same place) most of which he got from Moler and Morrison's
  679. "Replacing Square Roots by Pythagorean Sums" IBM Journal of Research and
  680. Development, 27/6, Nov. 1983.  The method he describes has cubic convergence,
  681. so it works well to unroll the loop and do a set number of iterations.  4
  682. iterations (2/, 4*, 2+) yield 62 digits of precision.
  683.  
  684. -------------------------------------------------------------------------------
  685.  
  686. Texture Mapping Question, by Susan Spach <hpfcla!hplabs!spach>
  687.  
  688. What are good techniques for implementing texture mapping within raytracing?
  689. Is point sampling with a good sampling strategy most commonly used?  Has
  690. mipmapping been extended to secondary rays?  [I'm interested, too]
  691.  
  692.  
  693. ======== USENET cullings follow ===============================================
  694.  
  695. Ray Traced Image Files, Prem Subramanyan
  696.  
  697. Reply-To: prem@geomag.UUCP (Prem Subramanyan)
  698. Organization: Florida State University Computing Center
  699.  
  700.  
  701. We have quite a collection of rasterfiles of all sizes here at geomag.  You
  702. can use the fbm package by Michael Mauldin to convert from Sun rasterfiles to
  703. GIF files.  The main reason why I have chosen to keep them as rasterfiles,
  704. rather than convert them to GIF is that on the Sun the rasterfile viewers are
  705. neater.  In any case.  anonymous ftp to geomag.gly.fsu.edu (128.186.10.2) cd
  706. to pub/pics and download any pics you want.  In the future, once I get the
  707. latest fbm package, I will post it there as well.  We have a good collection
  708. of files ray-traced on the eta-10g with QRT by Steve Koren.  The longest time
  709. taken (for blue.rst.Z) was 1 1/2 hrs.  The small ones (640x400) went in
  710. usually under 15 minutes.  In any case, they are quite interesting.
  711.  
  712. -------------------------------------------------------------------------------
  713.  
  714. Image Collection, by Paul Raveling
  715.  
  716. >From: raveling@venera.isi.edu (Paul Raveling)
  717. Organization: USC-Information Sciences Institute
  718.  
  719. With gobs of satisfaction, I'd like to announce the addition of some pictures
  720. of my own to the "Img" collection available on venera.isi.edu.  Along with
  721. this go sincere thanks to Nic Lyons and HPLabs for the opportunity to digitize
  722. these photos.
  723.  
  724. venera's pub directory now contains 2 compressed files to facilitate retrieval
  725. of images in this collection and of the imglib code.  These are:
  726.  
  727.     pub/img_ls-RAlF.Z       Directory listing of everything
  728.                 in the [~ftp/] images hierarchy
  729.  
  730.     pub/img.tar.Z           Code for imglib and the various
  731.                 simple programs using it.
  732.  
  733. The "root" directory, [~ftp/]images, and each of the four subdirectories
  734. containing images has its own README file with additional info.
  735.  
  736. Credits for 2 images that weren't from my own pictures are:
  737.  
  738.     Window Rock:    My wife spotted and captured the natural
  739.         spiral pattern at Window Rock, Arizona.
  740.  
  741.     Solings:        This is from the 1982 International Soling
  742.         Association calendar.  I used to own and race one
  743.         of these, but wouldn't risk taking a camera aboard.
  744.  
  745.  
  746. Here's a subject summary of the new images in images/color_mapped:
  747.  
  748. aspens          Aspens in San Juan Mts, between Ouray & Silverton
  749. blue_tigers     Blue Angels, in F11F Tigers
  750. ds_train        Durango & Silverton narrow-gauge train
  751. elk             An elk in Banff National Park
  752. ghost_house     House in ghost town, somewhere between Ouray and Silverton
  753. graycard        Kodak gray card, grayscale, and color patches
  754. halfdome        Halfdome in polarized infrared light (Yosemite Nat'l Park)
  755. harvey          Harvey, an African lion who lived at the L.A. Zoo
  756. high_line       Durango & Silverton narrow gauge train on the high line
  757. model           Model at one of Frank's photo day shows, probably in 1978
  758. model_fullscale Model at one of Frank's photo day shows, probably in 1978
  759. old497          Old 497:  One of Durango & Silverton's narrow gauge steamers
  760. porcupine       Porcupine @ ranger cabin, Mosquito Flats, Banff
  761. puff1 - puff2   Puff (the cat, not the dragon)
  762. san_juans       San Juan Mountains, between Ouray and Silverton
  763. smurf1 - smurf4 Whitesmith, aka "The Smurf"  [another cat]
  764. snake           Non-digital snake (not an adder)
  765. solings         Solings, from 1982 International Soling Association calendar
  766. stream          Stream in San Juan Mountains, between Ouray and Silverton
  767. tbirds          Thunderbirds
  768. window_rock     Window Rock
  769. x-1e            X-1E at NASA Ames Dryden Flight Research Center, Edwards AFB
  770.  
  771. -------------------------------------------------------------------------------
  772.  
  773. MTV-Raytracer on ATARI ST - precision error report, by Dan Riley
  774.  
  775. >From: riley@batcomputer.tn.cornell.edu (Daniel S. Riley)
  776. Organization: Cornell Theory Center, Cornell University, Ithaca NY
  777.  
  778.  
  779. In article <1171@laura.UUCP> wagener@unidocv.UUCP (Roland Wagener) writes:
  780. >I have ported the MTV-Raytracer on the ATARI ST using the Turbo-C-
  781. >Compiler. The Program works fine and it uses about 3 hours CPU-Time
  782. >to create the Balls-Picture in 320x200 Resolution.
  783.  
  784. >But there is a bug somewhere in the program. There are white spots in
  785. >all reflecting surfaces. This bug does not appear on a IBM-PC programmed
  786. >with Zortech-C++. But the PC needs 5 hours for a 200x200-Picture ...
  787.  
  788. This sounds like a floating point precision problem.  I've been playing
  789. with a number of ray tracers, including MTV, on my Amiga.  I've seen
  790. white spots and other sorts of splotches if I use the Motorola ffp format
  791. floating point routines, which are single precision (32 bit) only.  They 
  792. go away if I use IEEE math libraries (all calculations done with 64 bit
  793. doubles).  3 hours cpu for a 320x200 picture on an 8 MHz 68000 sounds like
  794. single precision to me, but I don't know the ST or Turbo-C that well.
  795.  
  796. I suppose there must be papers on controlling round-off errors in
  797. ray tracing algorithms, but none of the ray-tracers I've seen make any
  798. special efforts in that regard.  Of course, all the ones I have source
  799. code to are meant to be clean and simple, not fast and convoluted...:-)
  800.  
  801. -Dan Riley (riley@tcgould.tn.cornell.edu, cornell!batcomputer!riley)
  802. -Wilson Lab, Cornell U.
  803.  
  804. -------------------------------------------------------------------------------
  805.  
  806. Question on Ray Tracing Bicubic Parametric Patches, by Robert Minsk
  807.  
  808. >From: ccoprrm@pyr.gatech.edu.UUCP (Robert E. Minsk)
  809. Organization: Georgia Institute of Technology
  810.  
  811.   Does anyone have a routine of know of any pointers to articles to find a
  812. intersection between a ray and a bicubic parametric patch besides a recursive
  813. subdivision algorithm?  I am trying to speed things up a bit in my ray tracer.
  814.  
  815. -------------------------------------------------------------------------------
  816. END OF RTNEWS
  817.  
  818.